package ch01
//属性直接声明，省去了构造方法
class Student (var name:String,age:Int){
  def printInfo():Unit={
    //school 属性未声明无法访问，模仿静态属性需要伴生对象Student
    println("name:"+this.name+"  age:"+age+" school:"+Student.school)
  }
}

//伴生对象，唯一的一个对象，全局可以调用与上面类型可以相互调用
object Student{
  val school:String ="小菊花幼儿园";

  def main(args: Array[String]): Unit = {
    val s1 = new Student("杨",1)
    s1.name="yangtao" //是无法访问的，因为name是构造方法的参数
//    val s2 = new Student("张",3)
    s1.printInfo()
//    s2.printInfo()
  }
}
